#ifndef TRAYMANAGER_H
#define TRAYMANAGER_H

#include <QObject>
#include <QMenu>
#include <QSystemTrayIcon>

namespace Core
{

class TrayManager : public QObject
{
    Q_OBJECT
private:
    QSystemTrayIcon trayIcon;
    QMenu trayMenu;

    void createMenu();
public:
    enum Icon {Standard, Updating};

    explicit TrayManager(QObject *parent = 0);

signals:
    void exit();

private slots:
    void exitTriggered();

public slots:
    void show();
    void hide();

    void setIcon(Icon icon);

    void showInfoMessage(const QString& message);
    void showAlertMessage(const QString& message);
    void showErrorMessage(const QString& message);
};

}

#endif // TRAYMANAGER_H
